cmake_minimum_required(VERSION 3.20)
project(vulkan_tutorial)

set(CMAKE_CXX_STANDARD 17)
find_package(Vulkan REQUIRED)

add_subdirectory(include/glm)
add_subdirectory(include/glfw-3.3.6)

add_executable(part_one
        main.cpp
        lve_window.h lve_window.cpp
        lve_pipeline.h lve_pipeline.cpp
        lve_device.h lve_device.cpp
        lve_swap_chain.h lve_swap_chain.cpp
        lve_model.h lve_model.cpp
        lve_game_object.h lve_game_object.cpp
        lve_renderer.h lve_renderer.cpp
        simple_render_system.h simple_render_system.cpp
        lve_camera.h lve_camera.cpp
        lve_utils.h
        keyboard_movement_controller.h keyboard_movement_controller.cpp
        first_app.cpp first_app.h
        include/tiny_obj_loader.h)
target_link_libraries(part_one glfw glm Vulkan::Vulkan)